package com.ruoyi.exam.mapper;

import java.util.List;
import com.ruoyi.exam.domain.TQuestion;
import com.ruoyi.exam.domain.vo.QuestionVo;
import org.apache.ibatis.annotations.Param;

/**
 * 题库Mapper接口
 *
 * @author Bandit
 * @date 2022-11-01
 */
public interface TQuestionMapper
{
    /**
     * 查询题库
     *
     * @param id 题库主键
     * @return 题库
     */
    public TQuestion selectTQuestionById(Long id);

    /**
     * 查询题库列表
     *
     * @param tQuestion 题库
     * @return 题库集合
     */
    public List<TQuestion> selectTQuestionList(TQuestion tQuestion);

    /**
     * 查询题库列表
     * @param tQuestion 题库
     * @return QuestionVo
     */
    public List<QuestionVo> selectQuestionVoList(QuestionVo questionVo);


    List<QuestionVo> selectUnChosenQuestionVoList(@Param("chosenIds") Long[] chosenIds);

    /**
     * 新增题库
     *
     * @param tQuestion 题库
     * @return 结果
     */
    public int insertTQuestion(TQuestion tQuestion);

    /**
     * 修改题库
     *
     * @param tQuestion 题库
     * @return 结果
     */
    public int updateTQuestion(TQuestion tQuestion);

    /**
     * 删除题库
     *
     * @param id 题库主键
     * @return 结果
     */
    public int deleteTQuestionById(Long id);

    /**
     * 批量删除题库
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTQuestionByIds(Long[] ids);

    /**
     * 输入题目列表，查询题目总分
     * @param questionArrays
     * @return
     */
    public int getScoreByList(@Param("questionArrays") List<Long> questionArrays);
}
